package utils

import "context"

type traceIDKey struct{}

// NewTraceIDContext 创建跟踪ID
func NewTraceIDContext(ctx context.Context, traceID string) context.Context {
	if ctx == nil {
		ctx = context.Background()
	}
	return context.WithValue(ctx, traceIDKey{}, traceID)
}

// FromTraceIDContext 获取跟踪ID
func FromTraceIDContext(ctx context.Context) string {
	v := ctx.Value(traceIDKey{})
	if v != nil {
		return v.(string)
	}
	return ""
}
